
set(name spectrum)

set(source_files
        model/spectrum-model.cc
        model/spectrum-value.cc
        model/spectrum-converter.cc
        model/spectrum-signal-parameters.cc
        model/spectrum-propagation-loss-model.cc
        model/friis-spectrum-propagation-loss.cc
        model/constant-spectrum-propagation-loss.cc
        model/spectrum-phy.cc
        model/spectrum-channel.cc
        model/single-model-spectrum-channel.cc
        model/multi-model-spectrum-channel.cc
        model/spectrum-interference.cc
        model/spectrum-error-model.cc
        model/spectrum-model-ism2400MHz-res1MHz.cc
        model/spectrum-model-300kHz-300GHz-log.cc
        model/wifi-spectrum-value-helper.cc
        model/waveform-generator.cc
        model/spectrum-analyzer.cc
        model/aloha-noack-mac-header.cc
        model/aloha-noack-net-device.cc
        model/half-duplex-ideal-phy.cc
        model/half-duplex-ideal-phy-signal-parameters.cc
        model/non-communicating-net-device.cc
        model/microwave-oven-spectrum-value-helper.cc
        model/tv-spectrum-transmitter.cc
        model/trace-fading-loss-model.cc
        model/three-gpp-spectrum-propagation-loss-model.cc
        model/three-gpp-channel-model.cc
        model/matrix-based-channel-model.cc
        helper/spectrum-helper.cc
        helper/adhoc-aloha-noack-ideal-phy-helper.cc
        helper/waveform-generator-helper.cc
        helper/spectrum-analyzer-helper.cc
        helper/tv-spectrum-transmitter-helper.cc
        )

set(header_files
        model/spectrum-model.h
        model/spectrum-value.h
        model/spectrum-converter.h
        model/spectrum-signal-parameters.h
        model/spectrum-propagation-loss-model.h
        model/friis-spectrum-propagation-loss.h
        model/constant-spectrum-propagation-loss.h
        model/spectrum-phy.h
        model/spectrum-channel.h
        model/single-model-spectrum-channel.h
        model/multi-model-spectrum-channel.h
        model/spectrum-interference.h
        model/spectrum-error-model.h
        model/spectrum-model-ism2400MHz-res1MHz.h
        model/spectrum-model-300kHz-300GHz-log.h
        model/wifi-spectrum-value-helper.h
        model/waveform-generator.h
        model/spectrum-analyzer.h
        model/aloha-noack-mac-header.h
        model/aloha-noack-net-device.h
        model/half-duplex-ideal-phy.h
        model/half-duplex-ideal-phy-signal-parameters.h
        model/non-communicating-net-device.h
        model/microwave-oven-spectrum-value-helper.h
        model/tv-spectrum-transmitter.h
        model/trace-fading-loss-model.h
        model/three-gpp-spectrum-propagation-loss-model.h
        model/three-gpp-channel-model.h
        model/matrix-based-channel-model.h
        helper/spectrum-helper.h
        helper/adhoc-aloha-noack-ideal-phy-helper.h
        helper/waveform-generator-helper.h
        helper/spectrum-analyzer-helper.h
        helper/tv-spectrum-transmitter-helper.h
        )

set(libraries_to_link ${libpropagation} ${libantenna} )

set(test_sources
        test/spectrum-interference-test.cc
        test/spectrum-value-test.cc
        test/spectrum-ideal-phy-test.cc
        test/spectrum-waveform-generator-test.cc
        test/tv-helper-distribution-test.cc
        test/tv-spectrum-transmitter-test.cc
        test/three-gpp-channel-test-suite.cc
        )

build_lib("${name}" "${source_files}" "${header_files}" "${libraries_to_link}" "${test_sources}")
